home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #14
/
Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO
/
netmail
/
mplus400.zip
/
MFIX433.ZIP
/
MAILFIX.DOC
< prev
next >
Wrap
Text File
|
1995-02-02
|
18KB
|
386 lines
MAILFIX v4.33
-------------
MAILFIX is a purge/repair/renumber utility for RBBS-PC message bases. It
was originally written by Chip Morrow and released as part of the MAIL
MANAGER offline mail door for RBBS-PC, but because of its obvious utility
for all RBBS sysops, whether running MAIL MANAGER or not, we are releasing
it as a free, separate stand-alone utility. Version 4.0 was largely
rewritten by Doug Wilson to run much faster than previous releases, and
has a few more useful options than previous versions.
Significant changes and additions in this document from release 4.32 are
indicated by a | symbol in the left margin.
WARRANTY, DISTRIBUTION, AND LICENSING AGREEMENT:
------------------------------------------------
MAILFIX is 100% guaranteed to take up space on your hard disk, and is
equally guaranteed to consume less space if deleted. MAILFIX is NOT
guaranteed to do anything else. Period.
MAILFIX is copyrighted 1991-1995 by Makai Software, all rights reserved.
We are releasing it with source code, for those who would like to see how
it operates. You may distribute it freely, provided that no modifications
have been made. You are free to modify the code for YOUR OWN USE in
whatever manner you wish. We are sure that the current code is far from
optimal, but it does seem to work pretty well, nonetheless.
MAILFIX is not "SHAREWARE", rather it is distributed freely with source
code for other RBBS-PC sysops, as a contribution to the RBBS-PC community.
See the top of the source code file MAILFIX.BAS for additional licensing
information.
SO WHAT'S NEW?
--------------
| Not too much, actually. Version 4.33 provides some further evolution of
| the handling of exceptionally long messages as can be inserted by message
| tossers from time to time. Internal changes now greatly reduce the
| likelihood that a long message might get truncated by MAILFIX. When this
| DOES happen, though, the following message should still start at its
| proper place in the file, and the balance of the file should not be
| corrupted.
| Version 4.33 also includes internal compatibility with the file formats
| used in MAIL MANAGER +PLUS+ 4.00 (which is still in beta stage at this
| writing). If you use the message base renumbering capabilities of
| MAILFIX, it will automatically update the appropriate MAILMGR auxiliary
| user files (don't worry, this will all make sense when MPLUS400 is
| released <G>).
CONTACTING THE AUTHORS:
-----------------------
Due to the transitory nature of many bulletin boards, and the fact that
you may be reading these instructions a long time after they are written,
| we hesitate to mention a whole raft of bulletin boards where we may be
| reached. Inevitably, whichever board we cite will immediately go out of
| business, and the phone number will be reassigned to somebody who does not
| care to be awakened by the phone ringing in the middle of the night when
| we modem junkies place most of our long distance calls. It is hoped,
| however, that the board being run by one of the authors, Chip Morrow, will
| be a relatively permanent establishment:
|
| INFORMATION OVERLOAD
| 614-837-0739
| Up to 28.8K V.FC
| 1:226/730
|
| The authors can also be found on the "RBBS-PC" conferences carried by
Fido and RIME. New releases are always announced in these conferences,
and we occasionally post lists of the currently active distribution sites
there. If you wish to contact us via these conferences, address messages
to Doug Wilson or Chip Morrow.
Current Makai Software releases are always sent to Compuserve within a few
days of release, in the IBMBBS forum (GO IBMBBS). The doors themselves
may be found in library 3, while the individually-distributed utilities
| (MNET, MAILFIX, etc.) may be found in library 2.
We can also be reached via several other services:
Fido netmail: 1:226/1420 (Doug Wilson)
Fido netmail: 1:226/730 or 1:226/1420 (Chip Morrow)
Internet: doug.wilson@f1420.n226.z1.fidonet.org (Doug Wilson)
| Internet: chip@infinet.com (Chip Morrow)
And if all else fails, there's always good ol' U.S. Mail:
Makai Software
870 Golden Drive
Newark, OH 43055
------------------------------------------------------------------------
LIMITATIONS:
------------
MAILFIX can handle, by default, RBBS message bases which contain up to
1000 messages. When it hits message 1001, it will exit with an error.
You can increase MAILFIX's internal buffer by specifying /Snnnn on the
command line, where "nnnn" is the maximum number of messages that MAILFIX
should expect. So, if you'd like MAILFIX to be able to handle a message
base containing as many as 3,000 messages, your command line would
include:
/S3000
The program would then not error out until it hits the 3,001st message in
that area. With the /S switch, MAILFIX is compatible with RBBS mod
packages which allow far greater than stock RBBS 17.4's limit of 999
messages per conference.
| Exceptionally long messages (about 4k or longer) may occasionally be
| truncated by MAILFIX, although the likelyhood of this occurring should be
| greatly reduced with this release.
Aside from the above, MAILFIX has taken about anything we have thrown at
it, as long as the file contains consistent 128-byte records. If
something should insert or lose characters such that the 128-byte record
length is not preserved, MAILFIX will not be able to process the file.
------------------------------------------------------------------------
USAGE:
-----
MAILFIX [options] D:\PATH\MESSAGE.FIL
Available options (must be separated by a space):
/D - Use DOS screen writes instead of direct. Slows the program
down a tad, but allows for DOS redirection of output.
/F - Informs MAILFIX that this is a fixed-length message base. If
"/F" is not specified, MAILFIX assumes the message base to be
configured as 'elastic'.
/Kn - (where "n" is the number of messages to keep.): Tells MAILFIX
to trim down the physical size of the message base, keeping the
last "n" active messages. This is useful for things like an
echo area that grows almost out of control daily. If you want
to keep 50 messages, your switch would be "/K50".
This switch may not be used in conjunction with "/V"!
Use of this option will OVERWRITE your original message file!
/N - Tells MAILFIX to renumber the message base, starting at message
number 1. If used with the /K option, the retained messages will
be renumbered starting with 1. Message pointers for the users of
that base will also be updated to reflect the new message
numbers.
Use of this option will OVERWRITE your original message file!
After renumbering the base, MAILFIX will reset the user's
message pointers to reflect the renumbering. A default user
filename in the form xxxxxU.DEF will be derived from the message
filename specified on the command line, and in the same
directory as the message file. To specify a different user
filename, you may may immediately follow the /N with the
drive:\path\filename of the user file for this message base.
There can be no spaces between the /N and the beginning of the
filename. Your original user file will be updated in place, so
if you want a backup of your unaltered user file, you must make
one first.
If MAILFIX cannot find the default or specified user file, the
message base will not be renumbered, although other operations
will continue, as specified on the command line.
/O - Informs MAILFIX that the sysop uses OverMail on this message
base. OverMail formats the time field in the message header
with a semicolon instead of a colon, which CONFIG's option #185
(repair messages) chokes on.
/P - Tells MAILFIX to purge active personal messages which have been
received by the addressee.
/R - Informs MAILFIX that the sysop uses RBBSMail or MsgToss on this
message base. Both of these mail processors format the time
field in the message header with a period instead of a colon,
which CONFIG's option #185 (repair messages) chokes on.
/Sn - (where "n" is the max number of messages that could be contained
in this message base). The stock RBBS-PC maximum is 999, and the
default here is 1000 if /S is not specified. If you are running
a modified copy of RBBS-PC (one that can handle more than 999
msgs per message file), then you will need to use this switch to
increase MAILFIX's internal buffer.
/V - Only View the integrity of the message file. Do not perform
the actual repair work, and do not create an output file.
/Wx: - Define a work drive for MAILFIX to use when creating temporary
work files. If the specified work drive does not have enough
room, the directory containing the message file will be used
instead.
D:\PATH\MESSAGE.FIL is the name of the messages file to purge/repair.
Unless the /V option is used, MAILFIX will create an output file
with the same name and the extension '.FIX'. Above example would
create D:\PATH\MESSAGE.FIX. If a work drive is specified which has
enough free space, MESSAGE.FIX would be created in the work drive
instead.
If the /Kn or /N switches are used, MAILFIX will make a second pass
on your message base, using the *.FIX file for input, and the
original file name for output. When finished your original message
file will have been replaced by MAILFIX's work, and the *.FIX file
will be deleted.
EXAMPLES:
--------
Unless you use the "/Kn" or "/N" command line options, MAILFIX will not
overwrite (or modify in any way) your original message file. If you
want to replace your old message file with the one that MAILFIX creates,
your best bet is to run MAILFIX from a batch file, like so:
IF EXIST C:\RBBS\MAINM.FIX DEL C:\RBBS\MAINM.FIX
MAILFIX C:\RBBS\MAINM.DEF
IF EXIST C:\RBBS\MAINM.FIX DEL C:\RBBS\MAINM.DEF
IF EXIST C:\RBBS\MAINM.FIX REN C:\RBBS\MAINM.FIX C:\RBBS\MAINM.DEF
On the other hand, if you have an echo area named 4SALE that's
scanned by RBBSMail, and you want to keep it purged down to 100
messages, your command line would be:
MAILFIX /R /K100 C:\RBBS\4SALEM.DEF
If you want to also renumber the message base, and to update
the pointers in your user file for this base:
MAILFIX /R /K100 /N C:\RBBS\4SALEM.DEF
If you wanted to do the same thing with a message base that's
been scanned by OverMail:
MAILFIX /O /K100 /N C:\RBBS\4SALEM.DEF
If you wanted to do the same thing but use ramdrive e: as a work
drive:
MAILFIX /O /K100 /N /WE: C:\RBBS\4SALEM.DEF
If you have a conference whose files do not follow the ???????M.DEF
and ???????U.DEF naming convention for the message and user files,
you'll need to pass the full user filename when using the /N option:
MAILFIX /O /K100 /NC:\RBBS\USERS C:\RBBS\MESSAGES
These last five examples would replace your original message base
file with the fixed/purged/pruned message base.
Run MAILFIX without a command line to get a help screen.
------------------------------------------------------------------------
TECHIE STUFF FOR THOSE WHO CARE:
-------------------------------
If you run a mail system that utilizes RBBSMail, MsgToss, or OverMail
for echo mail processing, you're likely to have run across the fact that
the repair utility out of CONFIG (option #185) no longer works for you.
This is due to the fact that these mail processors place either a period
or a semicolon in the time field of the message header on every message
that they process.
This just happens to be one of CONFIG's five "key fields" that it looks
at to determine whether or not the message is corrupt.
These key fields are:
Description Should be
------------------------------------------- ---------
The "killed" flag, Ascii 225 or 226 "ß,Γ"
the first separator in the 'time' field, ":"
the second separator in the 'time' field, ":", ".", or ";"
the first separator in the 'date' field, "-"
and the last separator in the 'date' field. "-"
Therefore, this string of five characters is very important, and is what
will be displayed to you if the message needs repaired, and you specify
the "/v" option on MAILFIX's command line. If you don't specify "/v" on
the command line, MAILFIX will do its best to fix the message, and
report "<fixed>".
If you use a mail processor on your RBBS-PC message bases OTHER than
RBBSMail, MsgToss, or OverMail, and said mail processor *DOESN'T* use
a period or semicolon as its 'mark' in the second separator in the TIME
field, we'd sure like to hear about it so that we can attempt to make
MAILFIX compatible with your system.
WHEN, AND HOW MAILFIX FIXES A MESSAGE:
-------------------------------------
To determine whether or not a message is valid, MAILFIX looks at the
following in the message header:
Message number - Should never evaluate to zero.
Killed flag - Should always be ASCII 225 or 226.
Number of 128-byte records - Should never evaluate to less than 1.
If the message header passes these three tests, MAILFIX assumes it has
a valid message on its hands, and moves on to do one of three things:
- Copy it (if it isn't marked as killed, and doesn't need fixed).
MAILFIX will step through the message's records and write them to
the output file.
- Fix it (if it isn't marked as killed).
If, during all of its checks, MAILFIX finds that it has a valid
message on its hands, yet the five key characters mentioned above
DON'T MATCH what they're supposed to, the message header is
adjusted as follows:
* Sets the "killed" flag to indicate that this is an active
message (Ascii 225) "ß".
* Sets the TIME separators to:
:: - RBBS-PC (un-scanned by RBBSMail/OverMail)
:. - RBBSMail and MsgToss
:; - OverMail
You must have specified "/R" or "/O" on the command line
for the RBBSMail/OverMail checks to take place.
If "/R" or "/O" is specified, MAILFIX is smart enough to
discover whether or not the message has been scanned by
either one of these mail processors yet, and will not mark
an un-scanned message with the special "." or ";" separator.
* Sets both DATE separators to "-".
- Purge it (if it's marked as killed).
MAILFIX will skip the entire message (and its records) if the
message is marked as killed (ASCII 226) "Γ".
If the message didn't pass the tests, MAILFIX assumes that this is not a
message header, reports to you as such, purges the offending record, and
moves on to the next record until it finds the next valid header.
------------------------------------------------------------------------
*=- ABOUT MAILFIX and MESSAGE BASES with CARBON COPIES -=*
--------------------------------------------------
MAILFIX *DOES* work with message bases that have been configured with
the new "carbon copy" feature of RBBS-PC v17.4. MAILFIX does not go
through any special gyrations to look for multiple-recipient messages,
but it will not trash your message base, either. When renumbering, it
will reset the message number in all "carbon copies".
In the 3+ years of Mail Manager / MAILFIX's life thus far, we have
found that there are MANY utilities floating around out there that do
not strictly adhere to the RBBS-PC message format as-defined in the
documentation for our favorite BBS software. MAILFIX was specifically
written to be as generic as possible, and to work with the widest
possible variety of RBBS-PC message bases.
The only incompatibility with RBBS-PC v17.4 message bases is the
following scenario:
The message base is configured with "carbon-copy" turned on, and
1) - The very first header of the "carbon-copy" message is bad, or
2) - The very first header of the "carbon-copy" message is marked
as "killed".
In the first case, MAILFIX will skip the "bad" message, and maybe
the one following it as well, until it can get its bearings and
find the next "good" message header.
In the second case, MAILFIX will purge the entire message, even
if some of the other carbon copies have not been marked as killed.